There exist various test execution systems having the capability of recording and replaying input sequences to a system under test and comparing test results to a predefined captured ensemble.
The existing systems may be classified as either intrusive or non-intrusive. Most of the prior art systems are intrusive, in the sense that they employ resources of the system under test, such as CPU time, memory space and various device services. Some examples of such systems are:
Autotester, commercially available from Software Recording Corporation of Dallas, Tex.;
Check*Mate, commercially available from Cinnabar Software, a KMW Systems Company, of Austin, Tex.;
CapBak and SMARTS, both commercially available from Software Research, Inc. of San Francisco, Calif.;
TRAPS, commercially available from TravTech, Inc. of Hartford, Conn.; and
BLOODHOUND, commercially available from Goldbrick Software, of Fullerton, Calif.
A non-intrusive system also exists and is known as the "Evaluator" system and is commercially available from Elverex Ltd. of Limerick, Ireland.
None of the existing systems, whether intrusive or non-intrusive, samples raw frame buffer data. None of the existing systems is universal in that it can be used with any computer system.
It is desired, in computer systems testing applications, to be able to replicate a series of events which occurs during operation of a cursor manipulation device, such as a mouse or computerized stylus, in conjunction with a Central Processing Unit (CPU) and a monitor. In such a system, the location of the device with respect to the monitor is marked on the screen by a cursor or an icon.
Cursor manipulation devices can have absolute positioning or relative positioning where absolute positioning devices provide the precise coordinates of the location of the device and relative positioning devices provide the change in the location of the device. A mouse device typically utilizes relative positioning; computerized styluses typically utilize absolute positioning. For relative positioning devices, the entirety of the data is necessary to know exactly where the device is located.
The data from the device, herein termed "device events" can easily be stored and replayed. However, as is known in the art, due to a non-deterministic loss of device events, simply replaying the device events will not reliably repeat the motion of the icon on the screen. (i.e. the icon will not return to the same location on the screen). The loss typically occurs because recovery operations can occur at any point, and thus, the application software ignores part of the datastream from the cursor manipulation device when the software is occupied with other activities.
Some prior art systems ignore the abovementioned problem and simply replay the device events received from the mouse. Others attempt to solve the problem by assuming that the loss occurred between the CPU and the application and therefore, record the device events received from the mouse and transmitted between the CPU and the application. However, since the application itself ignores some of the device events, this solution still does not produce completely reliable responses.
The "Evaluator" is one such testing system which attempts to track and replicate mouse action.